package com.anuo.app.modules.coach.dao;

import com.anuo.app.common.persistence.MyBatisDao;
import com.anuo.app.modules.coach.entity.Coach;
import com.anuo.app.modules.coach.entity.CoachCourse;
import com.anuo.app.modules.coach.entity.CoachFilter;
import com.anuo.app.modules.coach.entity.CoachStudentmoney;

import java.math.BigDecimal;
import java.util.List;

@MyBatisDao
public interface CoachDao {
    Coach getCoachById(String coachId);
    void  deleteCoachApplay(Coach coach);
    void insertCoachApply(Coach coach);
    void updateCoachApply(Coach coach);
    boolean isHaveAuditInfo(CoachFilter coachFilter);
    BigDecimal getCoachAVGScore(CoachFilter coachFilter);
    boolean isExistCoachInfo(CoachFilter coachFilter);
    Coach getCoach(CoachFilter coachFilter);
    boolean isRepeatPeriodInPrivateCoach(CoachCourse coachCourse);
    boolean isCoach(Coach coach);
    List<CoachCourse> getCoachSyllabus(CoachFilter coachFilter);
    int getNearbyCoachListCount(CoachFilter coachFilter);
    List<Coach> getNearbyCoachList(CoachFilter coachFilter);
    List<Coach> getCoachList(CoachFilter coachFilter);
    int getCoachListCount(CoachFilter coachFilter);
    Coach getCoachDetail(CoachFilter coachFilter);
    Coach getCoachApply(CoachFilter coachFilter);
    void insertCoachMoneyFromNotPay(CoachStudentmoney coachStudentmoney);
    void updateCoachStudentMoneyToFormal(CoachStudentmoney coachStudentmoney);
    void deleteCoachStudentMoneyNotPay(CoachStudentmoney coachStudentmoney);
    CoachStudentmoney getCoachStudentMoney(CoachStudentmoney coachStudentmoney);
}

